/*
 * Powered By XY
 * Since 2020
 */

package com.xy.biz.xd.domain.req;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import org.hibernate.validator.constraints.Length;

import java.time.LocalDateTime;

import javax.validation.constraints.Max;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 *
 *
 * @author wcs
 * @date 2021-3-4
 */
@NoArgsConstructor
@AllArgsConstructor
@Builder
@Data
public class SaveDocumentReleaseRequest {

	/**
	 * 文件发行Id
	 */

	private Long documentReleaseId;
	/**
	 * 文档流程Id
	 */
	@NotNull
	private Long documentFlowId;
	/**
	 * 流程类型：0-未定义，1-新增流程，2-修订流程，3-作废流程，4-下载审批流程，5-借阅流程
	 */
	@NotNull @Max(127)
	private Integer flowType;
	/**
	 * 接收对象Id
	 */
	@NotNull
	private Long receiveId;
	/**
	 * 接收类型：0-用户，1-部门
	 */
	@NotNull @Max(127)
	private Integer receiveType;
	/**
	 * 状态：0-取消，1-放行
	 */
	@NotNull @Max(127)
	private Integer status;
	/**
	 * 文件Id
	 */
	@NotNull
	private Long documentId;
	/**
	 * 文件编号
	 */
	@NotBlank @Length(max=20)
	private String documentCode;
	/**
	 * 文件名称
	 */
	@NotBlank @Length(max=200)
	private String documentName;
	/**
	 * 文件版本
	 */
	@NotBlank @Length(max=10)
	private String documentVersion;
	/**
	 * 文件路径
	 */
	@NotBlank @Length(max=200)
	private String path;
	/**
	 * 租户Id，0表示不指定
	 */
	@NotNull
	private Long tenantId;
	/**
	 * 创建用户Id
	 */
	@NotNull
	private Long createUserId;
	/**
	 * 创建时间
	 */
	@NotNull
	private LocalDateTime createTime;
	/**
	 * 更新时间
	 */
	@NotNull
	private LocalDateTime updateTime;
	/**
	 * 删除标识：0-正常，1-删除
	 */
	@NotNull
	private Boolean deleteFlag;

}
